package com.sunny.passbook.vo;

import com.sunny.passbook.constant.ErrorCode;
import com.sunny.passbook.dao.MerchantsDao;
import com.sunny.passbook.entity.Merchants;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.Date;

/**
 * 投放的优惠券定义
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class PassTemplate {
    /** 所属商户ID */
    private Integer id;

    /** 优惠券标题 */
    private String title;

    /** 优惠券摘要 */
    private String summary;

    /** 优惠券详细信息 */
    private String desc;

    /** 最大个数限制 */
    private Long limit;

    /** 优惠券是否有tocken, 用于商户核销 */
    private Boolean hasToken; // tocken存储于redis set中， 每次领取从redis 中获取。

    /** 优惠券背景色 */
    private Integer background;

    /** 优惠券开始时间 */
    private Date start;

    /** 优惠券结束时间 */
    private Date end;

    /** 校验优惠券的有效性 */
    private ErrorCode validate(MerchantsDao merchantsDao) {
        if(null == merchantsDao.findById(this.id)) {
            return ErrorCode.EMPTY_NOT_EXISTS;
        }

        return ErrorCode.SUCCESS;
    };
}
